package a1_1;

import java.time.Year;

/**
 * 优良品质马类，包含父母、出生年份属性及相关获取方法
 */
public class Thoroughbred {
    // 私有属性（- 可见性）
    private Thoroughbred mother;   // 母亲（同类型）
    private Thoroughbred father;   // 父亲（同类型）
    private int birthyear;         // 出生年份

    // 构造方法（默认无参+全参，方便实例化）
    public Thoroughbred() {}

    public Thoroughbred(Thoroughbred mother, Thoroughbred father, int birthyear) {
        this.mother = mother;
        this.father = father;
        this.birthyear = birthyear;
    }

    // 操作方法（+ 可见性，公有）
    /**
     * 获取当前年龄（基于当前年份 - 出生年份）
     */
    public int getCurrentAge() {
        return Year.now().getValue() - this.birthyear;
    }

    /**
     * 获取父亲
     */
    public Thoroughbred getFather() {
        return this.father;
    }

    /**
     * 获取母亲
     */
    public Thoroughbred getMother() {
        return this.mother;
    }

    // Setter方法（补充：属性为私有，需Setter修改值，UML未明确但实际开发必需）
    public void setMother(Thoroughbred mother) {
        this.mother = mother;
    }

    public void setFather(Thoroughbred father) {
        this.father = father;
    }

    public void setBirthyear(int birthyear) {
        this.birthyear = birthyear;
    }
}